home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / m2 / m2_part1.lha / modula / src / StdIO.def < prev    next >
Text File  |  1994-07-30  |  3KB  |  118 lines

  1. DEFINITION FOR AMIGALIB MODULE StdIO ;
  2.  
  3. FROM SYSTEM IMPORT ADDRESS, STRING, LONGSET, BADDRESS ;
  4.  
  5. (* The following datatypes and constant declarations are DICE specific *)
  6. TYPE
  7.   FILEPtr = POINTER TO FILE ;
  8.   FILE = RECORD
  9.     sd_Next   : ADDRESS ;
  10.     sd_Prev   : ADDRESS ;
  11.     sd_RBuf   : ADDRESS ;
  12.     sd_RPtr   : ADDRESS ;
  13.     sd_WBuf   : ADDRESS ;
  14.     sd_WPtr   : ADDRESS ;
  15.     sd_BufSiz : LONGINT ;
  16.     sd_RLeft  : LONGINT ;
  17.     sd_WLeft  : LONGINT ;
  18.     sd_Flags  : LONGSET ;
  19.     sd_Error  : LONGINT ;
  20.     sd_Offset : LONGINT ;
  21.     sd_Fd     : LONGINT ;
  22.     sd_UC     : INTEGER ;
  23.     sd_Name   : STRING  ;
  24.   END ;
  25.  
  26. CONST
  27.   _IOFBF    =      -1 ;
  28.   _IOLBF    =  00010H ;
  29.   _IONBF    =     0 ;
  30.  
  31.   BUFSIZ    = 1024 ;
  32.   EOF        =   -1 ;
  33.   FILENAME_MAX    = 1024 ;
  34.   FOPEN_MAX    =   20 ;
  35.   L_tmpnam    =   32 ;
  36.   SEEK_SET     =    0 ;
  37.   SEEK_CUR    =    1 ;
  38.   SEEK_END    =    2 ;
  39.   TMP_MAX     = 4096 ;
  40.  
  41. VAR
  42.   stdin     : FILEPtr ;
  43.   stdout : FILEPtr ;
  44.   stderr : FILEPtr ;
  45.  
  46. PROCEDURE clearerr( fi : FILEPtr ) ;
  47. PROCEDURE feof( fi : FILEPtr ) : BOOLEAN ;
  48. PROCEDURE ferror( fi : FILEPtr ) : BOOLEAN ;
  49. PROCEDURE fileno( fi : FILEPtr ) : LONGINT ;
  50.  
  51. PROCEDURE perror( s : STRING ) ;
  52.  
  53. PROCEDURE fclose ( f : FILEPtr ) : LONGINT ;
  54. PROCEDURE fflush ( f : FILEPtr ) : LONGINT ;
  55. PROCEDURE fopen  ( filename, mode : STRING ) : FILEPtr ;
  56. PROCEDURE freopen( filename, mode : STRING ; f : FILEPtr ) : FILEPtr ;
  57. PROCEDURE setbuf ( f : FILEPtr ; buff: ADDRESS ) ;
  58. PROCEDURE setvbuf( f : FILEPtr ; buff: ADDRESS ; mode,size: LONGINT ) : LONGINT;
  59.  
  60. PROCEDURE remove( fn : STRING ) : LONGINT ;
  61. PROCEDURE rename( old , new : STRING ) : LONGINT ;
  62. PROCEDURE tmpfile( ) : FILEPtr ;
  63. PROCEDURE tmpnam( str : STRING ) : STRING ;
  64.  
  65. PROCEDURE fgetpos( f : FILEPtr ; VAR fpos_t : LONGINT ) : LONGINT ;
  66. PROCEDURE fseek( f : FILEPtr ; offset : LONGINT ; origin : LONGINT ) : LONGINT ;
  67. PROCEDURE fsetpos( f : FILEPtr ; pos : LONGINT ) : LONGINT ;
  68.  
  69. PROCEDURE ftell( f : FILEPtr ) : LONGINT ;
  70. PROCEDURE rewind( f : FILEPtr ) : LONGINT ;
  71.  
  72. PROCEDURE fgetc( f : FILEPtr ) : LONGINT ;
  73. PROCEDURE fgets( str : STRING ; atmost : LONGINT ; file : FILEPtr ) : STRING ;
  74.  
  75. PROCEDURE fputc( ch  : LONGINT ; f : FILEPtr ) : LONGINT ;
  76. PROCEDURE fputs( str : STRING  ; f : FILEPtr ) : LONGINT ;
  77.  
  78. PROCEDURE getc( fi : FILEPtr ) ;
  79. PROCEDURE putc( c : LONGINT ; fi : FILEPtr ) ;
  80.  
  81. PROCEDURE getchar( ) : LONGINT ;
  82. PROCEDURE putchar( c : LONGINT ) : LONGINT ;
  83.  
  84. PROCEDURE gets  ( str : STRING ) : STRING ;
  85. PROCEDURE puts  ( str : STRING ) : LONGINT ;
  86. PROCEDURE ungetc( ch  : LONGINT ; f : FILEPtr ) : LONGINT ;
  87.  
  88. PROCEDURE fread( adr : ADDRESS ;
  89.          obj_size, num_obj : LONGINT ;
  90.          f : FILEPtr ) : LONGINT ;
  91.  
  92. PROCEDURE fwrite( adr : ADDRESS ;
  93.           obj_size, num_obj : LONGINT ;
  94.           f : FILEPtr ) : LONGINT ;
  95.  
  96. PROCEDURE fprintf( f : FILEPtr ; fmt : STRING ; .. ) : LONGINT ;
  97. PROCEDURE fscanf ( f : FILEPtr ; fmt : STRING ; .. ) : LONGINT ;
  98. PROCEDURE printf ( fmt : STRING ; .. ) : LONGINT ;
  99. PROCEDURE scanf  ( fmt : STRING ; .. ) : LONGINT ;
  100. PROCEDURE sprintf( str : STRING ; fmt : STRING ; .. ) : LONGINT ;
  101. PROCEDURE sscanf ( str : STRING ; fmt : STRING ; .. ) : LONGINT ;
  102.  
  103. (* Standard, but not ANSI *)
  104.  
  105. PROCEDURE fdopen( int : LONGINT ; str : STRING ) : FILEPtr ;
  106. PROCEDURE chdir ( str : STRING ) : LONGINT ;
  107. PROCEDURE getcwd( str : STRING ; int : LONGINT ) : STRING ;
  108. PROCEDURE unlink( str : STRING ) : LONGINT ;
  109.  
  110. (* Amiga specific *)
  111. TYPE
  112.   FileHandlePtr = BADDRESS ; (* Really Dos.FileHandlePtr *)
  113.  
  114. PROCEDURE fhprintf( fh : FileHandlePtr ; fmt : STRING ; ..) : LONGINT ;
  115.  
  116. END StdIO.
  117.  
  118.